package org.theqcp.wow.model.mechanics;

public enum Attribute {

	//source: http://www.wowwiki.com/Attributes
	//source: http://www.wowwiki.com/Combat_rating_system
	
	//try to keep these in a section w/alphabetical order with UNK always at the end by itself
	
	//generic stats 
	AGILITY("agility"),
	INTELLECT("intellect"),
	SPIRIT("spirit"),
	STAMINIA("stamina"),
	STRENGTH("strength"),
	HEALTH("health"),
	MANA("mana"),
	
	//secondary stats
	ATTACKPOWER("attackpower"),
	MANAREGEN("manaregen"),
	SPELLPOWER("spellpower"),
		
	//combat ratings
	ARMORPENETRATION("armorpenetration"),
	CRITRATING("critrating"),
	EXPERTISERATING("expertiserating"),
	HASTERATING("hasterating"),
	HITRATING("hitrating"),
	WEAPONSKILLRATING("weaponskillrating"),
	
	//effective percents from ratings
	ARMORPENPERCENT("armorpenetrationpercent"),
	CRITPERCENT("critpercent"),
	EXPERTISEPERCENT("expertisepercent"),
	HASTEPERCENT("hastepercent"),
	HITPERCENT("hitpercent"),	
		
	//weapon
	DPS("dps"),
	DAMAGELOW("damagelow"),
	DAMAGEHIGH("damagehigh"),
	SPEED("speed"),
	
	//always last, just for funsies (ok, fine, to keep the list organized into what is and isn't [shouldn't be] possible)
	UNKNOWN("unknown");
	
	
	private String identifier;
	
	/**
	 * Construct a stat type.  The identifier is intended 
	 * to be used to look up the proper i8n string in some 
	 * sort of property table if that feature is enabled.
	 * 
	 * @param identifier
	 */
	private Attribute(String identifier) {
		
		this.identifier = identifier;
				
	}
	
	/**
	 * Get identifier
	 * 
	 * @return the stat types identifier
	 */
	public String getIdentifier() {
		return this.identifier;
	}
	
	
}
